package com.zkthink.ceres.order.dto;

import com.zkthink.ceres.order.entity.GoodsReturn;
import com.zkthink.ceres.order.entity.GoodsReturnActionHistory;
import com.zkthink.ceres.order.entity.MoneyReturn;
import com.zkthink.ceres.order.entity.MoneyReturnActionHistory;
import com.zkthink.ceres.order.vo.GoodsReturnVO;
import com.zkthink.ceres.order.vo.MoneyReturnVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

@ApiModel("管理后台订单详情对象")
@Data
public class AdminOrderDetailDTO implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty("主键id")
    private Long id;

    @ApiModelProperty("订单id")
    private String orderCode;

    @ApiModelProperty("订单状态")
    private Integer orderStatus;

    @ApiModelProperty("订单金额")
    private Long orderSum;

    @ApiModelProperty("订单消费金额")
    private Long discountAmount;

    @ApiModelProperty("支付方式 1-微信支付 2-支付宝支付 3-余额支付")
    private Integer payChannel;

    @ApiModelProperty("下单时间")
    private LocalDateTime createTime;

    @ApiModelProperty("下单备注")
    private String notes;

    @ApiModelProperty("支付单号")
    private String payNum;

    @ApiModelProperty("售后状态 -1 无售后 1-退款 2-退货")
    private Integer returnType;

    @ApiModelProperty("物流方案")
    private String logisticsCase;

    @ApiModelProperty("支付时间")
    private LocalDateTime payTime;

    @ApiModelProperty("下单账户")
    private String memberAccount;

    @ApiModelProperty("下单总数")
    private Integer orderCount;

    @ApiModelProperty("收件人姓名")
    private String recName;

    @ApiModelProperty("收件人电话号码")
    private String recMobile;

    @ApiModelProperty("省份")
    private String province;

    @ApiModelProperty("城市")
    private String city;

    @ApiModelProperty("地区")
    private String area;

    @ApiModelProperty("详细地址")
    private String address;

    @ApiModelProperty("物流公司编码")
    private String shipperCode;

    @ApiModelProperty("物流单号")
    private String logisticsNum;

    @ApiModelProperty("物流公司名称")
    private String logisticsName;

    @ApiModelProperty("订单商品列表")
    private List<OrderProductDTO> orderProductDTOList;

    @ApiModelProperty("退款单详情列表")
    private List<MoneyReturn> moneyReturnList;

    @ApiModelProperty("退货单详情")
    private List<GoodsReturn> goodsReturnList;

    @ApiModelProperty("退款单操作历史")
    private List<MoneyReturnActionHistory> moneyReturnActionHistoryList;

    @ApiModelProperty("退货单操作历史")
    private List<GoodsReturnActionHistory> goodsReturnActionHistoryList;
}
